package com.dragon.modules.yuegou.enums.busd;

import com.fasterxml.jackson.annotation.JsonCreator;

import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * 页面类型
 * 
 * @author pbuilder generated
 *
 */
public enum PageNewConfigPageType {

	/**
	 * 首页
	 */
	HOME(0, "首页"),
	/**
	 * 秒杀活动
	 */
	SECKILL(1, "秒杀活动"),
	/**
	 * 全民拼团
	 */
	GROUP(2, "全民拼团"),
	/**
	 * 限时折扣
	 */
	LIMIT(3, "限时折扣"),
	/**
	 * 疯狂砍价
	 */
	BARGAINING(4, "疯狂砍价"),
	/**
	 * 积分商城
	 */
	POINTS_MALL(5, "积分商城"),
	/**
	 * 个人页
	 */
	PERSONAL(6, "个人页"),
	/**
	 * 签到领积分
	 */
	SIGN(7, "签到领积分"),
	/**
	 * 活动管理
	 */
	ACTIVITY(8, "活动管理");

	/**
	 * 枚举标识
	 */
	private final Integer code;

	/**
	 * 别名
	 */
	private final String alias;

	private PageNewConfigPageType(Integer code, String alias) {
		this.code = code;
		this.alias = alias;
	}

	public Integer getValue() {
		return code;
	}

	/**
	 * 枚举标识
	 * 
	 * @return code
	 */
	public Integer getCode() {
		return code;
	}

	/**
	 * 别名
	 * 
	 * @return alias
	 */
	public String getAlias() {
		return alias;
	}

	/**
	 * 把code转化为费用类型枚举
	 * 
	 * @param code 代码
	 * @return
	 */
	@JsonCreator
	public static PageNewConfigPageType from(Integer code) {
		if (code == null) {
			return null;
		}
		return CODE_MAP.get(code);
	}

	/**
	 * Code Map for PageNewConfigPageType
	 */
	private static final Map<Integer, PageNewConfigPageType> CODE_MAP = Stream.of(PageNewConfigPageType.values())
			.collect(Collectors.toMap(PageNewConfigPageType::getCode, e -> e));

}
